<?php
namespace app\api\controller;
use app\common\controller\BaseApi;

/*燃烧星球(Shape)对接接口  api*/
class ShapeApi extends  BaseApi
{
	private $model;
    private $AppKey = '083a060dabcfd365b1fe5e2ffca8a6b2';     // key
    private $AppSecret = '246a7a099bc1';  // secret
	
	/**
	 * 测试地址
	 * */
	 public function _initialize()
    {
		$this->model = new Yunxinserver($this->AppKey,$this->AppSecret,'curl');
    }
	//http://smartgym.com/api/YunxinApi/test
	public function test(){
		//var_dump(md5("abc"));
		var_dump($this->model->checkSumBuilder());
	}
	
	/**
     * 创建云信ID
     * http://smartgym.com/api/YunxinApi/createUserId/accid/zwzl_admin
	 * 
     */
    public function createUserId($accid)
    {
        if(empty($accid)||strlen($accid)<6){
			return template_error('accid已经长度不足6位,或者店铺id 不存在。');
        }
        $token = md5($accid);
        // 写入到云信服务器
        $info = $this->model->createUserIds($accid,'','{}','',$token);
		if($info['code']==200){
			return template_success();
		}else{
			return template_error($info['desc']);
		}
    }

    /**
	 * 获取指定用户的云信ID
	 * http://smartgym.com/api/YunxinApi/getUinfos/accid/zwzl_admin
	 */
    public function getUinfos($accid){
        $accid = array($accid);
        $info = $this->model->getUinfoss($accid);
		if($info['code']==200){
			return $this->ajax_success($info);
		}else{
			return $this->ajax_error("","",$info['desc']);
		}
    }
    /**
	 * 发送自定义消息
	 * http://smartgym.com/api/YunxinApi/sendAttachMsg/accid/abc/type/1
	 * @param  $accid  接受人的 accid
	 * @param $type 类型 type=0 测试   type=1 正式
	 */  
    public function sendAttachMsg($accid,$type=1){
    	if(empty($accid)){
        	$this->ajax_error("","","accid 不能为空");
        }
		/**
		 * type=0 测试
		 * type=1 正式
		 * 
		 * flag=true 开门 
		 * flag=false 不开门
		 * 
		 * data=n   开n号门  
		 */
		$json=json_encode(array("type"=>1,"msg"=>"","data"=>"","flag"=>($type==1?TRUE:FALSE)));
        $info = $this->model->sendAttachMsg('zwzl_admin',0,$accid,$json);
		if($info['code']==200){
			db("GuestMsg")->insert(array("guest_from"=>'zwzl_admin',"guest_to"=>$accid,"msg"=>$json,"back_record"=>json_encode($info,TRUE),"status"=>1));
			return $this->ajax_success();
		}else{
			db("GuestMsg")->insert(array("guest_from"=>'zwzl_admin',"guest_to"=>$accid,"msg"=>$json,"back_record"=>json_encode($info,TRUE),"status"=>0,"error_msg"=>$info['desc']));
			return $this->ajax_error("","",$info['desc']);
		}
    }
	////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
}
